package com.ruoyi.duty.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import javax.validation.constraints.NotNull;
import lombok.Data;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 排班计划对象 duty_schedule
 * 
 * @author yepanpan
 * @date 2025-05-08
 */
@Data
public class DutySchedule extends BaseEntity
{
    public static final String STATUS_WAIT = "0";
    public static final String STATUS_NORMAL = "1";
    public static final String STATUS_LATE = "2";
    public static final String STATUS_EARLY = "3";
    public static final String STATUS_MIS = "4";
    public static final String STATUS_ON = "6";
    private static final long serialVersionUID = 1L;

    /** 自增长主键ID */
    private Long id;

    /** 区域 */
    @Excel(name = "区域")
    private String deptName;
    @NotNull
    private Long deptId;

    /** 值班人 */
    @Excel(name = "值班人")
    private String userName;
    @NotNull
    private Long userId;

    /** 班次 */
    @Excel(name = "班次")
    private String shiftName;
    @NotNull
    private Long shiftId;

    /** 日期 */
    @Excel(name = "排班日期", width = 30, dateFormat = "yyyy-MM-dd")
    private String dutyDay;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @NotNull
    private Date beginTime;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @NotNull
    private Date endTime;

    /** 状态 */
    @Excel(name = "状态", dictType="duty_status", comboReadDict=true)
    private String status;

    /** 上岗时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "上岗时间", width = 30, dateFormat = "yyyy-MM-dd", type = Excel.Type.EXPORT)
    private Date onTime;

    /** 离岗时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "离岗时间", width = 30, dateFormat = "yyyy-MM-dd", type = Excel.Type.EXPORT)
    private Date outTime;


}
